package com.wteam.dragon.shop.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wteam.dragon.shop.pojo.bean.FlashPromotion;
import com.wteam.dragon.shop.pojo.bean.FlashPromotionProduct;
import com.wteam.dragon.shop.pojo.bean.FlashPromotionSession;
import com.wteam.dragon.shop.pojo.dto.FlashPromotionProductDto;
import com.wteam.dragon.system.basebean.bean.ResultMessage;

import java.util.List;

/**
 * @Author 陈晓辉
 * @Date 2021/3/24 14:42
 */
public interface FlashPromotionService {
    /**
     * 添加秒杀活动
     */
    ResultMessage addFlashPromotion(FlashPromotion flashPromotion);

    /**
     * 删除秒杀活动
     */
    ResultMessage delFlashPromotion(List<Long> ids);

    /**
     * 更改秒杀活动
     */
    ResultMessage editFlashPromotion(FlashPromotion flashPromotion);

    /**
     * 分页获得秒杀活动
     */
    ResultMessage pageFlashPromotion(Page<FlashPromotion> page, String title);

    /**
     * 获得秒杀活动详情
     */
    ResultMessage getFlashPromotion(Long id);

    /**
     * 添加秒杀活动场次
     */
    ResultMessage addFlashPromotionSession(FlashPromotionSession flashPromotionSession);

    /**
     * 删除秒杀活动场次
     */
    ResultMessage delFlashPromotionSession(Long id);

    /**
     * 更改秒杀活动场次
     */
    ResultMessage editFlashPromotionSession(FlashPromotionSession flashPromotionSession);

    /**
     * 获得秒杀活动场次列表
     */
    ResultMessage listFlashPromotionSession();

    /**
     * 通过秒杀活动id获得秒杀活动场次列表
     */
    ResultMessage listFlashPromotionSessionById(Long id);

    /**
     * 获得场次详情
     */
    ResultMessage getFlashPromotionSession(Long id);

    /**
     * 批量添加秒杀活动商品
     */
    ResultMessage addFlashPromotionProduct(List<FlashPromotionProduct> list);

    /**
     * 删除秒杀活动商品
     */
    ResultMessage delFlashPromotionProduct(Long id);

    /**
     * 更改秒杀活动商品
     */
    ResultMessage editFlashPromotionProduct(FlashPromotionProduct flashPromotionProduct);

    /**
     * 分页获得秒杀活动某一活动场次商品
     */
    ResultMessage pageFlashPromotionProduct(Page<FlashPromotionProductDto> page, Long flashPromotionSessionId, Long flashPromotionId);

    /**
     * 获得秒杀活动商品详情
     */
    ResultMessage getFlashPromotionProduct(Long id);

}
